package compilador.lexico;

/**
 * Representação de todos os tipos de tokens suportados pela linguagem. Inclui
 * tipos para identificadores, números inteiros/reais, cadeias literais,
 * palavras reservadas (PR) e símbolos reservados (SR).
 *
 * @author Carlos H V Pinto
 * @author Lucas S Bueno
 */
public enum TipoToken {

    Identificador,
    CadeiaLiteral,
    NumeroInteiro,
    NumeroReal,
    PR_Algoritmo,
    PR_FimAlgoritmo,
    PR_Declare,
    PR_Literal,
    PR_Inteiro,
    PR_Real,
    PR_Logico,
    PR_Leia,
    PR_Escreva,
    PR_Se,
    PR_Entao,
    PR_Senao,
    PR_FimSe,
    PR_Caso,
    PR_Seja,
    PR_FimCaso,
    PR_Tipo,
    PR_Para,
    PR_Ate,
    PR_Faca,
    PR_FimPara,
    PR_Enquanto,
    PR_FimEnquanto,
    PR_Procedimento,
    PR_FimProcedimento,
    PR_Funcao,
    PR_FimFuncao,
    PR_Ou,
    PR_E,
    PR_Nao,
    PR_Registro,
    PR_FimRegistro,
    PR_Var,
    PR_Constante,
    PR_Verdadeiro,
    PR_Falso,
    PR_Retorne,
    /**
     * :
     */
    SR_DoisPontos,
    /**
     * ,
     */
    SR_Virgula,
    /**
     * ^
     */
    SR_Circunflexo,
    /**
     * (
     */
    SR_AbreParenteses,
    /**
     * )
     */
    SR_FechaParenteses,
    /**
     * -
     */
    SR_Subtracao,
    /**
     * %
     */
    SR_Modulo,
    /**
     * *
     */
    SR_Multiplicacao,
    /**
     * /
     */
    SR_Divisao,
    /**
     * +
     */
    SR_Adicao,
    /**
     * &
     */
    SR_Endereco,
    /**
     * =
     */
    SR_Igual,
    /**
     * &lt;
     */
    SR_Menor,
    /**
     * >
     */
    SR_Maior,
    /**
     * .
     */
    SR_Ponto,
    /**
     * [
     */
    SR_AbreColchetes,
    /**
     * ]
     */
    SR_FechaColchetes,
    /**
     * &lt;-
     */
    SR_Atribuicao,
    /**
     * &lt;>
     */
    SR_Diferente,
    /**
     * &lt;=
     */
    SR_MenorIgual,
    /**
     * >=
     */
    SR_MaiorIgual,
    /**
     * ..
     */
    SR_Concatenacao
}
